1
|
|
|
!function(a,b){var c;void 0===b.Amarkal?(c={},b.Amarkal=c):c=b.Amarkal,c.settings={init:function(){a(".amarkal-ui-component").on("amarkal.change",function(){c.settings.notifier.notice('Settings have changed, click "Save" to apply them.')}),c.settings.search.init()}},a(document).ready(function(){c.settings.init()}),c.settings.notifier={classes:["error","success","notice","info"],prefix:"amarkal-",timeout:null,$el:null,notify:function(a,b,d){clearTimeout(c.settings.notifier.timeout),c.settings.notifier.$el.removeAttr("class").addClass(c.settings.notifier.prefix+a).html("<p>"+b+"</p>"),void 0!==d&&(c.settings.notifier.timeout=setTimeout(function(){c.settings.notifier.$el.removeAttr("class").html("")},d))},error:function(a,b){c.settings.notifier.notify("error",a,b)},success:function(a,b){c.settings.notifier.notify("success",a,b)},notice:function(a,b){c.settings.notifier.notify("notice",a,b)},info:function(a,b){c.settings.notifier.notify("info",a,b)},init:function(){this.$el=a("#amarkal-settings-notices")}},a(document).ready(function(){c.settings.notifier.init()}),c.settings.search={$fields:null,$input:null,init:function(){var b=this;this.$fields=a(".amarkal-settings-field"),this.$input=a("#settings-search"),this.$input.on("keyup",function(){b.onKeyup()})},onKeyup:function(b){var c,d=this.$input.val().toLowerCase();d.length>1?(c=this.find(d),this.$fields.hide(),c.show(),a("#settings-search-results").text(c.length?c.length+" settings found":"Nothing found")):(this.$fields.show(),a("#settings-search-results").text(""))},find:function(b){var c=[];return this.$fields.each(function(){var d=a(this),e=d.attr("data-title").toLowerCase(),f=d.find(".description").text();(e.match(b)||f.match(b))&&c.push(d)}),a(c).map(function(){return this.toArray()})}},a(document).ready(function(){a(".amarkal-settings-button").on("click",function(b){b.preventDefault();var d=a(this);d.data("disabled")||(a(".amarkal-settings-button").data("disabled",!0),d.addClass("processing"),c.settings[d.val()](function(){d.removeClass("processing"),a(".amarkal-settings-button").data("disabled",!1)}))})}),c.settings.save=function(b){c.settings._postData("save",function(d){if(a(".amarkal-ui-component").amarkalUIComponent("reset"),d.errors.length){for(var e="",f=0;f<d.errors.length;f++)e+=d.errors[f].message,a('[amarkal-component-name="'+d.errors[f].name+'"]').amarkalUIComponent("makeInvalid");c.settings.notifier.error(e)}else c.settings.notifier.success("Settings saved",2e3);c.settings._updateValues(d.values),b()})},c.settings.reset=function(b){c.settings._postData("reset",function(d){a(".amarkal-ui-component").amarkalUIComponent("reset"),c.settings.notifier.success("Default settings applied",2e3),c.settings._updateValues(d.values),b()})},c.settings._updateValues=function(b){for(var c in b){var d=b[c],e=a('[amarkal-component-name="'+c+'"]');e.hasClass("amarkal-ui-component")&&e.amarkalUIComponent("setValue",d)}},c.settings._postData=function(b,c){a.post(ajaxurl,{action:"amarkal_settings_"+b,data:a("#amarkal-settings-form").serialize()},c)}}(jQuery,window); |